/**********************************************************************
 Copyright (C) 2010 Teppo Eeva

 This file is part of Arithmetic Game.
 For more information, see <http://code.google.com/p/arithmetic-game/>

 Arithmetic Game is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Arithmetic Game is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Arithmetic Game.  If not, see <http://www.gnu.org/licenses/>.
 **********************************************************************/

#include "audiomanager.h"
#include <QDebug>

AudioManager::AudioManager(QObject *parent) :
    QObject(parent),
    m_faultSound("button-12.wav"),
    m_correctSound("button-19.wav"),
    m_bonusSound("bonus.wav"),
    m_gameOverSound("gameover.wav"),
    m_audioEnabled(true)
{
}

void AudioManager::playFault()
{
    qDebug() << "AudioManager::playFault" << m_faultSound.fileName();
    if (m_audioEnabled)
    {
        m_faultSound.play();
    }
}

void AudioManager::playCorrect()
{
    qDebug() << "AudioManager::playCorrect" << m_correctSound.fileName();
    if (m_audioEnabled)
    {
        m_correctSound.play();
    }
}

void AudioManager::playBonus()
{
    qDebug() << "AudioManager::playBonus" << m_bonusSound.fileName();
    if (m_audioEnabled)
    {
        m_correctSound.stop();
        m_bonusSound.play();
    }
}

void AudioManager::stopBonus()
{
    qDebug() << "AudioManager::stopBonusSound" << m_bonusSound.fileName();
    if (m_audioEnabled)
    {
        m_bonusSound.stop();
    }
}

void AudioManager::playGameOver()
{
    qDebug() << "AudioManager::playGameOver" << m_gameOverSound.fileName();

    if (m_audioEnabled)
    {
        m_faultSound.stop();
        m_gameOverSound.play();
    }
}

void AudioManager::enableAudio(bool enabled)
{
    m_audioEnabled = enabled;
}
